// 导入axios
import service from '@/utils/request'

// /admin/product/getCategory1
// getCategory1

// GET /admin/product/getCategory2/{category1Id}
// getCategory2

// GET /admin/product/getCategory3/{category2Id}

// 定义接口返回类型
export interface dataModel {
  id: number
  name: string
  category1Id?: number
  category2Id?: number
}

// 定义整体响应结果的类型规范
export interface ResponseModel {
  code: number
  data: dataModel[]
}
/**
 * @desc 请求一级分类数据
 * @returns Promise
 */

// 请求一级分类数据时不需要携带参数,直接请求即可
export const getCategory1 = () => {
  return service.get<any, ResponseModel>('/admin/product/getCategory1')
}

/**
 * @desc 请求二级分类数据
 * @param category1Id 一级分类数据选择的id
 * @returns Promise
 */
// 请求二级分类数据时需要携带一级分类数据展示的对应id值
export const getCategory2 = (category1Id: number) => {
  return service.get<any, ResponseModel>(`/admin/product/getCategory2/${category1Id}`)
}

/**
 * @desc 请求三级分类的下拉数据
 * @param category2Id 二级分类数据选择的id
 * @returns Promise
 */
// 请求三级分类数据时需要携带二级分类数据展示的对应 id值
export const getCategory3 = (category2Id: number) => {
  return service.get<any, ResponseModel>(`/admin/product/getCategory3/${category2Id}`)
}
